/**
 * 用户登录服务接口
 */
package com.ffox.service;

import com.ffox.result.Result;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

/**
 * 用户登录服务接口定义了用户登录相关操作的方法
 */
public interface UserLoginService {
    /**
     * 用户登录方法
     *
     * @param number   用户账号，可以是手机号、邮箱等唯一标识用户的号码
     * @param password 用户密码，用于验证用户身份
     * @return 返回登录结果，包含登录用户信息
     */
    public Result<Map<String, Object>> userLogin(String number, String password);

    /**
     * 用户注册方法
     *
     * @param number   用户账号，需要保证其唯一性
     * @param password 用户密码，用于设置用户账户的安全验证
     * @param realName 用户真实姓名，用于实名认证
     * @param idCard   身份证号码，用于进一步确认用户身份
     * @param mobile   手机号码，作为用户联系方式之一
     * @param email    电子邮箱，作为用户联系方式之一和找回密码的途径
     * @param nickName 用户昵称，用户在平台上的显示名称
     * @param file     用户头像文件，用于个性化用户账户
     * @return 返回注册结果，包含影响行数，表示注册是否成功
     */
    public Result<Integer> userInsert(String number, String password, String realName, String idCard, String mobile, String email);

    /**
     * 用户删除方法
     *
     * @param id 用户ID，用于标识特定的用户记录
     * @return 返回删除操作的结果，包含影响行数，表示删除是否成功
     */
    public Result<Integer> userDelete(Long id);
}
